package com.xbongbong.pro.rabbitmq.binders;

import com.xbongbong.pro.rabbitmq.constant.ApiWebHookBinderConstant;
import org.springframework.cloud.stream.annotation.Input;
import org.springframework.messaging.SubscribableChannel;
import org.springframework.stereotype.Service;

@Service("apiWebHookConsumerBinder")
public interface ApiWebHookConsumerBinder {

    /**
     * 客户
     */
    @Input(ApiWebHookBinderConstant.API_CUSTOMER_INPUT)
    SubscribableChannel apiCustomerInput();
//    @Output(ApiWebHookBinderConstant.API_CUSTOMER_OUTPUT)
//    MessageChannel apiCustomerInput();
    /**
     * 合同
     */
    @Input(ApiWebHookBinderConstant.API_CONTRACT_INPUT)
    SubscribableChannel apiContractInput();
//    @Output(ApiWebHookBinderConstant.API_CONTRACT_OUTPUT)
//    MessageChannel apiContractOutput();
    /**
     * 机会
     */
    @Input(ApiWebHookBinderConstant.API_OPPORTUNITY_INPUT)
    SubscribableChannel apiOpportunityInput();
//    @Output(ApiWebHookBinderConstant.API_CONTRACT_OUTPUT)
//    MessageChannel apiContractOutput();
    /**
     * 机会
     */
    @Input(ApiWebHookBinderConstant.API_CUSTOM_FORM_INPUT)
    SubscribableChannel apiCustomFormInput();
//    @Output(ApiWebHookBinderConstant.API_CUSTOM_FORM_OUTPUT)
//    MessageChannel apiCustomFormOutput();

    /**
     * 线索
     */
    @Input(ApiWebHookBinderConstant.API_CLUE_INPUT)
    SubscribableChannel apiClueInput();

    /**
     * 跟进记录
     */
    @Input(ApiWebHookBinderConstant.API_CUSTOMER_COMMUNICATE_INPUT)
    SubscribableChannel apiCustomerCommunicateInput();

    /**
     * API其他业务通用队列
     */
    @Input(ApiWebHookBinderConstant.API_COMMON_INPUT)
    SubscribableChannel apiCommonInput();
}
